﻿//
//  Copyright (c) 2008, Rafael Bandeira
//  All rights reserved.
//
//  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
//
//  * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
//
//  * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other 
//  materials provided with the distribution.
//
//  * Neither the name of Rafael Bandeira nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior 
//  written permission.
//
//  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
//  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
//  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
//  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 
//  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE 
//  USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using Google.Negocio;

namespace Google.Web.Modulos.Cidades
{
    public partial class Default : Listagem<Cidade>
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                //
                // Se não for postback
                //
                if (!IsPostBack)
                {
                    //
                    // Popular o grid novamente (databind)
                    //
                    Popular();
                }
            }
            catch (Exception)
            {

                Response.Redirect("~/Erros/Default.aspx");
            }

        }

        //
        // Método que irá atualizar os dados do grid
        //
        private void Popular()
        {
            try
            {
                //
                // Seta o datasource do grid
                //
                gvLista.DataSource = DataSource();
                gvLista.DataBind();
            }
            catch (Exception)
            {

                Response.Redirect("~/Erros/Default.aspx");
            }
        }

        protected void gvLista_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {

            try
            {
                //
                // Busca a posição do grid e deleta de acordo com o valor
                //
                Apagar(Convert.ToInt32(gvLista.DataKeys[e.RowIndex].Value));
                Popular();
            }
            catch (Exception)
            {

                Response.Redirect("~/Erros/Default.aspx");
            }


        }
    }
}
